package com.financial.service.heemoney.dto.commmon;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.io.Serializable;

/**
 * @Author: wenguoqiang
 * @Email wguoqiango@163.com
 * @Date: 2019/12/2 0002 下午 3:42
 * @Des  汇收银公共参数基类
 */
public abstract class BaseHeemoneyCommonDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 具体业务接口名称
     */
    private String method;
    /**
     * 版本号,默认1.0
     */
    private String version;
    /**
     * 服务商商户号
     */
    private String isv_mch_uid;
    /**
     * 服务商的应用id
     */
    private String isv_app_id;
    /**
     * 编码格式默认为UTF-8
     */
    private String charset;
    /**
     * 商户生成签名字符串所使用的签名算法类型
     */
    private String sign_type;
    /**
     * 发送请求的时间
     */

    private String timestamp;
    /**
     * 请求参数集合,Json格式,长度不限,具体参数见如下业务参数
     */
    private String biz_content;
    /**
     * 数据签名
     */
    private String sign;
    /**
     * 密钥
     */
    @JsonIgnore
    private String key;



    public String getBiz_content() {
        return biz_content;
    }

    public void setBiz_content(String biz_content) {
        this.biz_content = biz_content;
    }

    public String getCharset() {
        return charset;
    }

    public void setCharset(String charset) {
        this.charset = charset;
    }

    public String getMethod() {
        return method;
    }

    public void setMethod(String method) {
        this.method = method;
    }

    public String getSign_type() {
        return sign_type;
    }

    public void setSign_type(String sign_type) {
        this.sign_type = sign_type;
    }

    public String getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(String timestamp) {
        this.timestamp = timestamp;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getIsv_mch_uid() {
        return isv_mch_uid;
    }

    public void setIsv_mch_uid(String isv_mch_uid) {
        this.isv_mch_uid = isv_mch_uid;
    }

    public String getIsv_app_id() {
        return isv_app_id;
    }

    public void setIsv_app_id(String isv_app_id) {
        this.isv_app_id = isv_app_id;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    @Override
    public String toString() {
        return "BaseHeemoneyCommonDTO{" +
                "method='" + method + '\'' +
                ", version='" + version + '\'' +
                ", isv_mch_uid='" + isv_mch_uid + '\'' +
                ", isv_app_id='" + isv_app_id + '\'' +
                ", charset='" + charset + '\'' +
                ", sign_type='" + sign_type + '\'' +
                ", timestamp='" + timestamp + '\'' +
                ", biz_content='" + biz_content + '\'' +
                ", sign='" + sign + '\'' +
                ", key='" + key + '\'' +
                '}';
    }

    public abstract String signStr();
}
